@echo off
setlocal

set ROOT_DIR=%CD%
set MATH_UTILS_DIR=%ROOT_DIR%\math.utils\target
set APP_DIR=%ROOT_DIR%\app\target

rmdir /s /q "%MATH_UTILS_DIR%"
rmdir /s /q "%APP_DIR%"
mkdir "%MATH_UTILS_DIR%"
mkdir "%APP_DIR%"

echo Compiling math.utils module...
javac -d "%MATH_UTILS_DIR%" ^
    --module-source-path "%ROOT_DIR%\math.utils\src" ^
    --module com.example.math.utils

echo Compiling app module...
javac -d "%APP_DIR%" ^
    --module-path "%MATH_UTILS_DIR%" ^
    --module-source-path "%ROOT_DIR%\app\src" ^
    --module com.example.app

echo Running app module...
java --module-path "%MATH_UTILS_DIR%;%APP_DIR%" ^
    --module com.example.app/com.example.app.Main

endlocal